import { QRCode as AntdQRCode, QRCodeProps } from 'antd';

/**
 * 二维码组件
 * @param {QRCodeProps} props - 二维码组件的属性
 * @param {string} props.value - 扫描后的文本
 * @param {'canvas' | 'svg'} props.type - 渲染类型
 * @param {number} props.size - 二维码大小
 * @param {string} props.color - 二维码颜色
 * @param {string} props.bgColor - 二维码背景色
 * @param {boolean} props.bordered - 是否有边框
 * @param {'L' | 'M' | 'Q' | 'H'} props.errorLevel - 二维码纠错等级
 * @param {string | React.ReactNode} props.status - 二维码状态
 * @param {React.ReactNode} props.icon - 二维码中图片的地址（目前只支持图片地址）
 * @param {number} props.iconSize - 二维码中图片的大小
 * @param {(url: string) => void} props.onRefresh - 点击"点击刷新"的回调
 * @param {React.CSSProperties} props.style - 自定义样式
 * @returns {JSX.Element} 二维码组件的 JSX 元素
 * @description 二维码组件是 Ant Design 提供的二维码组件，用于将链接转换成二维码。
 * @example
 * <QRCode value="https://ant.design/" />
 * @example
 * <QRCode
 *   value="https://ant.design/"
 *   size={160}
 *   color="#000000"
 *   bgColor="#ffffff"
 *   bordered
 * />
 * @example
 * <QRCode
 *   value="https://ant.design/"
 *   icon="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg"
 *   iconSize={40}
 * />
 * @example
 * <QRCode
 *   value="https://ant.design/"
 *   status="loading"
 * />
 */
export const QRCode = (props: QRCodeProps) => {
  return <AntdQRCode {...props} />;
};

// 默认导出
export default QRCode;

// 重新导出类型
export type { QRCodeProps };
